Operating systems, such as the Windows operating system of Microsoft Corp. and the Macintosh Operating System (Mac OS) of Apple Inc., provide graphical user interfaces to users that allow a user to interact with a process or application. Some applications may be hosted remotely. For example, a user may connect a local computer to a remote computing device. While connected, the user may interact with a local version of the desktop environment of the remote computing device, such as by launching remote applications hosted by the remote computing device and interacting with the remote applications (e.g., launching a document editor and editing/creating documents). Communication between the remote computing device and the local computer may enable the local computer to graphically display the applications and the desktop environment of the remote computing device. However, there may be resources that the user executes on the local computing device (e.g., locally hosted applications, such as a document editor hosted by the local computer). A user may find navigating between multiple graphical displays confusing or difficult to use productively. A user may also wish to use data generated by one application with an application hosted by a different computer.
Some operating systems may provide user interfaces based around static or dynamic thumbnails. For example, various versions of the Windows operating system of Microsoft Corp. include the Windows Flip and Flip 3D interfaces, which present a comprehensive view of open windows by presenting rendered static or dynamic thumbnails of those windows, allowing a user to intuitively select a window to make active. Some versions of the Windows operating system also include Windows Taskbar Preview, which displays a thumbnail preview of a window when a user moves a mouse cursor over a taskbar icon; and Windows Peek, which, when a user moves a mouse over a taskbar thumbnail or icon, turns all windows except the window associated with the thumbnail or icon transparent, allowing the user to view the window even if it's in the background. Similarly, the Mac OS operating system of Apple Inc. includes the Expose interface, which displays live thumbnails of open windows.
In order to provide these user interfaces, many operating systems may require access to the graphics content of each window individually. However, many systems using thin-client computing or remote display presentation protocols for display of applications executing on a remote machine may flatten images of overlapping windows into a single image. For example, these systems may use a 2D logical video buffer (LVB) with no window awareness built into the graphics protocol. This can result in unwanted effects in which a thumbnail created on a local machine of a remotely generated window includes an overlapping section of a second remotely generated window.
Thus, there remains an ever-present need to provide more useful user interfaces of remotely hosted applications to provide a more user-friendly and productive experience to users of the remotely hosted applications.